#ifndef __domcoll_h__
#define __domcoll_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "types.h"

/* header files for imported files */
#include "dom.h"

#ifndef __IHTMLAttributeCollection_FWD_DEFINED__
#define __IHTMLAttributeCollection_FWD_DEFINED__
typedef interface IHTMLAttributeCollection IHTMLAttributeCollection;
#endif     /* __IHTMLAttributeCollection_FWD_DEFINED__ */

#ifndef __IHTMLAttributeCollection2_FWD_DEFINED__
#define __IHTMLAttributeCollection2_FWD_DEFINED__
typedef interface IHTMLAttributeCollection2 IHTMLAttributeCollection2;
#endif     /* __IHTMLAttributeCollection2_FWD_DEFINED__ */

#ifndef __IHTMLDOMChildrenCollection_FWD_DEFINED__
#define __IHTMLDOMChildrenCollection_FWD_DEFINED__
typedef interface IHTMLDOMChildrenCollection IHTMLDOMChildrenCollection;
#endif     /* __IHTMLDOMChildrenCollection_FWD_DEFINED__ */

#ifndef __IHTMLAttributeCollection_INTERFACE_DEFINED__

#define __IHTMLAttributeCollection_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLAttributeCollection;


MIDL_INTERFACE("3050f4c3-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAttributeCollection : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE get_length(
         /* [out] */ long * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
         /* [out] */ IUnknown* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
            /* [in] */ VARIANT* name,/* [out] */ IDispatch** pdisp) = 0;

};

#endif     /* __IHTMLAttributeCollection_INTERFACE_DEFINED__ */


#ifndef __IHTMLAttributeCollection2_INTERFACE_DEFINED__

#define __IHTMLAttributeCollection2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLAttributeCollection2;

typedef interface IHTMLDOMAttribute IHTMLDOMAttribute;

MIDL_INTERFACE("3050f80a-98b5-11cf-bb82-00aa00bdce0b")
IHTMLAttributeCollection2 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE getNamedItem(
            /* [in] */ BSTR bstrName,/* [out] */ IHTMLDOMAttribute** newretNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE setNamedItem(
            /* [in] */ IHTMLDOMAttribute* ppNode,/* [out] */ IHTMLDOMAttribute** newretNode) = 0;

    virtual HRESULT STDMETHODCALLTYPE removeNamedItem(
            /* [in] */ BSTR bstrName,/* [out] */ IHTMLDOMAttribute** newretNode) = 0;

};

#endif     /* __IHTMLAttributeCollection2_INTERFACE_DEFINED__ */


#ifndef __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__

#define __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLDOMChildrenCollection;


MIDL_INTERFACE("3050f5ab-98b5-11cf-bb82-00aa00bdce0b")
IHTMLDOMChildrenCollection : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE get_length(
         /* [out] */ long * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get__newEnum(
         /* [out] */ IUnknown* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
            /* [in] */ long index,/* [out] */ IDispatch** ppItem) = 0;

};

#endif     /* __IHTMLDOMChildrenCollection_INTERFACE_DEFINED__ */



EXTERN_C const GUID GUID_HTMLAttributeCollection;



EXTERN_C const GUID DIID_DispHTMLAttributeCollection;


#ifndef _CAttrCollectionator_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCAttrCollectionatorlength;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCAttrCollectionator_newEnum;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAttrCollectionatoritem;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAttrCollectionatorgetNamedItem;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAttrCollectionatorsetNamedItem;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCAttrCollectionatorremoveNamedItem;

#endif


EXTERN_C const GUID GUID_DOMChildrenCollection;



EXTERN_C const GUID DIID_DispDOMChildrenCollection;


#ifndef _CDOMChildrenCollection_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCDOMChildrenCollectionlength;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCDOMChildrenCollection_newEnum;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCDOMChildrenCollectionitem;

#endif


#endif /*__domcoll_h__*/

